(define (problem make_cofee)
    (:domain neuhelium_coffee)
    (:objects
        anywhere - location
        neuhelium_cabin - location
        w3_1 - delivery_robot
        w3_2 - delivery_robot
        w3_3 - delivery_robot
        jaka - robotic_arm
        kinova - robotic_arm
        neuhelium_coffee_machine - coffee_machine

        coffee_order_1 - coffee_order
        service_table_1 - location
        coffee_1 - coffee

        door_1 - door
        indoor - location
        outdoor - location
    )
    (:init

        (device_available)
        (arm_empty jaka)
        (arm_empty kinova)
        (at_location w3_1 anywhere)
        (at_location w3_2 anywhere)
        (at_location w3_3 anywhere)
        ; (payload_empty w3_1)
        ; (payload_empty w3_2)
        ; (payload_empty w3_3)
        (connected anywhere neuhelium_cabin)
        ; (connected anywhere service_table_1)
        ; (connected neuhelium_cabin service_table_1)

        (able_to_get_from_dropper jaka)
        (able_to_get_from_platform kinova)
        (able_place_in_delivery_robot kinova w3_1)
        (able_place_in_delivery_robot kinova w3_2)
        (able_place_in_delivery_robot kinova w3_3)

        (connected neuhelium_cabin indoor)
        (at_door door_1 indoor outdoor)
        (connected outdoor service_table_1)
        
        (coffee_at w3_1 coffee_order_1 neuhelium_cabin)
    )

    (:goal
        (and
            (order_obtained coffee_order_1)
            (coffee_make_ok neuhelium_coffee_machine coffee_order_1 coffee_1)
            (coffee_ready_get coffee_1)
            (wait_delivery_robot coffee_1 w3_1)
            (delivery_robot_ready w3_1 neuhelium_cabin)
            (coffee_in_delivery_robot coffee_1 w3_1)
            (coffee_at w3_1 coffee_order_1 service_table_1)
        )
    )
)